"""
自定义模块
自己制作模块【my_module1.py】，导入时，模块的名称就是文件的名称
"""

# print("=================================导入自定义模块")
# # 导入自定义模块
# import my_module1
# from my_module1 import test
#
# my_module1.test(1, 2)
# test(2, 2)
#
# print("=================================导入不同模块，但同名的功能")
# # 导入不同模块，但同名的功能，发现最下方的导入生效
# from my_module2 import test
#
# test(4, 2)


# print("================================= __main__变量")
# from my_module1 import test
#
# test(4, 4)
# # 上述代码在导入模块时，会执行模块中的代码、方法，因此模块中的方法会自动执行，这不是我们想要的
# # 因此，我们可以在模块中，使用__main__变量，来判断当前代码是处于模块中，还是处于主程序中


print("================================= __all__变量")
from my_module1 import *

# test(4, 4)  #此行报错提示无法导入
testA(4, 4)  # 此行正常，因此导入的是外部模块允许导出的功能

from my_module1 import test  # 如果不使用*，使用对应的功能名进行导入，可以突破__all__的限制

test(1, 2)
